import axios from 'axios'
const BASE_URL_TEST = import.meta.env.VITE_BASE_PATH

export const axiosGetRoleist = async () => {
    await axios
        .get(BASE_URL_TEST + '/roles/page', {
            // 发送带有查询参数的 GET 请求
            params: {
                pageNum: 1,
                pageSize: 10
            }
        })
        .then((response) => {
            return response.data
        })
        .catch((error) => {
            console.error(error)
        })
}
export const axiosGet = async () => {
    await axios
        .get('https://jsonplaceholder.typicode.com/users', {
            // 发送带有查询参数的 GET 请求
            params: {
                pageNum: 1,
                pageSize: 10
            }
        })
        .then((response) => {
            return response.data
        })
        .catch((error) => {
            console.error(error)
        })
}
export const axiosPostrolelist = () => {
    axios.post(BASE_URL_TEST + '/roles', JSON.stringify({
        id: 678,
        name: "799",
        code: "8",
        sort: 88,
        status: 0,
        dataScope: 72
    }), {
        headers: {
            'Content-Type': 'application/json'
        }
    })
        .then(response => {
            return response.data
        })
        .catch((error) => {
            console.error(error)
        })
}

export const axiosPutrolelist = () => {
    axios.put(BASE_URL_TEST + '/roles/677', JSON.stringify({
        name: '你在吗'
    }))
        .then(response => {
            return response.data
        })
        .catch(error => {
            console.error(error);

        })
}

export const axiosDELETErolelist = () => {
    axios.delete(BASE_URL_TEST + '/roles/678')
        .then(response => {
            return response.data
        })
        .catch(error => {
            console.error(error);
        })
}

export const axiosPATCHrolelist = () => {
    axios.patch(BASE_URL_TEST + '/roles/51', JSON.stringify({
        name: "799",
        code: "8",
        sort: 88,
        status: 0,
        dataScope: 72
    }))
        .then(response => {
            return response.data
        })
        .catch(error => {
            console.error(error);

        })
}
// export const axiosPATCH = () => {
//     axios.patch('https://jsonplaceholder.typicode.com/users/1', {
//         name: '最帅的！'
//     })
//         .then(response => {
//             return response.data
//         })
//         .catch(error => {
//             console.error(error);

//         })
// }

export const axiosuserolelist = () => {
    axios.interceptors.response.use(response => {
        // 响应成功时做的一些处理
        console.log('响应拦截', response)
        return response
    },
        error => {
            // 统一处理错误信息
            if (error.response.status === 401) {
                // 如果是401错误，可能是未授权，跳转到登陆页面
                window.location.href = '/login';

            } else if (error.response.status === 500) {
                // 服务器错误
                console.error('服务器错误');

            }
            return Promise.reject(error)
        }
    )

}


// 通用方法
export const apiRequest = async (method: any, url: any, data: any, params: any) => {
    try {
        // 配置axios 请求参数
        const config = {
            method: method,//请求方法
            url: BASE_URL_TEST + url,//请求url
            data: data,//请求体（适用于 POST、PUT、PATCH）
            params: params,//查询参数（适用于 GET 请求）
            headers: {
                'Content-Type': 'application/json',
                // 添加 Token 认证信息
                'Authorization': `Bearer ${localStorage.getItem('token')}`
            }
        }
        // 发起请求
        const response = await axios(config);

        return response.data;
    } catch (error) {
        console.error('请求出错: ', error);
        throw error; // 将错误抛出以便调用者处理
    }
}

